iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 20
0
Software Development

從Java進入AWS部署RESTful API的心路歷程系列 第 20

Day20-概論(十)DynamoDB程式設計介面

  • 分享至 

  • xImage
  •  

前一篇提到DynamoDB API與AWS SDK架構的時候,即出現了SDK三種Interface,而這些是當我們撰寫Lambda時能選用的介面,本篇稍微看一下其中的差異與內容。

下層介面 Low-Level Interface

下層界面

指的即是那些存取DynamoDB基本屬性資料的存取method

在文件範例中所示的部分程式

key.put("Artist", new AttributeValue().withS("No One You Know"));
key.put("SongTitle", new AttributeValue().withS("Call Me Today"));

所謂下層介面的部分指的就是那些存取屬性的method中,直接以DynamoDB資料類型命名的那些,例如 S 表示字串或 N 表示數字。

文件介面 Document Interface

文件界面

AWS SDK提供的文件介面是為了包裝對於資料表、索引的資料CRUD操作。讓你方便處理存取Item結果集,同時也提供對應使用語言的資料型別。

範例中程式碼

Table table = docClient.getTable("Music");
GetItemOutcome outcome = table.getItemOutcome(
    "Artist", "No One You Know", 
    "SongTitle", "Call Me Today");
int year = outcome.getItem().getInt("Year");

其中的GetItemOutcome結果提供了getItem與getInt的包裝函式以進行操作。

以上兩種介面都提供你相對面向資料庫層面的一步步處理方法。

物件持久性界面

物件持久性界面

此外ASK亦提供物件描述方式操作DynamoDB,讓我們可以撰寫物件導向方法進行處理,這類介面即為透過DynamoDBMapper應用操作。

MusicItem keySchema = new MusicItem();
keySchema.setArtist("No One You Know");
keySchema.setSongTitle("Call Me Today");

MusicItem result = mapper.load(keySchema);

範例中會看到透過物件介面即可更容易地操作DynamoDB,少寫很多程式碼。我們可以在bean當中應用DynamoDB Annotation進行描述各種屬性、資料轉換或資料表、索引定義等。在之後實作文章會有更詳細的內容。


上一篇
Day19-概觀(九)DyanmoDB低階API與資料類型
下一篇
Day21-實作(六)對DynamoDB進行CRUD
系列文
從Java進入AWS部署RESTful API的心路歷程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言